package com.joker.coupon.service;

import com.alipay.api.AlipayApiException;
import com.joker.coupon.domain.PmsCoupon;

import java.util.List;

public interface PmsCouponService {

    /**
     * 首页显示优惠卷
     */
    List<PmsCoupon> selectHomePageCoupon(Integer recommendStatus);

    /**
     * 领劵
     */
    void receiveCoupon(Long skuId);

    /**
     * sku详情页显示优惠卷
     */
    List<PmsCoupon> selectCouponBySkuId(Long skuId);

    /**
     * 购物车页面显示优惠卷
     */
    List<PmsCoupon> selectCouponByCart(Long skuId);

    /**
     * 显示用户个人优惠卷
     */
    List<PmsCoupon> selectUserCoupon(Long status);

    /**
     * 下单页面显示用户已领取可使用优惠卷
     */
    List<PmsCoupon> selectCouponByOrder();

    /**
     * 结算下单
     *
     * @return
     */
    String generatePay(String totalPrice, Long couponId) throws AlipayApiException;

    /**
     * 计算优惠后总价
     * @param couponId
     * @return
     */
    PmsCoupon computeDiscountPrice(Long couponId);
}
